layui.define([ 'form', 'laydate', 'table' ], function(exports) {
    var form = layui.form;
    var laydate = layui.laydate;
    var table = layui.table;
    var choiceDataInfoTable = null;
    var view ={
        init:function(){
            this.initTable();
            this.initSearchForm();
            this.initToolBar();
            window.dataReload = function(){
                Lib.doSearchForm($("#searchForm"),choiceDataInfoTable)
            }
        },
        initTable:function(){
            var data = $("#searchForm").serializeJson();
            choiceDataInfoTable = table.render({
                elem : '#choiceDataInfoTable',
                height : Lib.getTableHeight(0),
                cellMinWidth: 100,
                method : 'post',
                where: data,
                url : Common.ctxPath + '/choiceDataInfo/choiceDataInfo/list.json' // 数据接口
                ,page : Lib.tablePage // 开启分页
                ,limit : 10,
                cols : [ [ // 表头
                    {
                        type : 'checkbox',
                        fixed:'left',
                    },
                {

                    field : 'id',
                        title : 'id',
                    fixed:'left',
                        width : 60,
                },
                {

                    field : 'type',
                        title : '类型',
                    templet:function(d){
                        if(d.type==1){
                            return '普通志愿'
                        }else if(d.type==2){
                            return '艺术生志愿'
                        }
                    }
                },
                {
                    field : 'title',
                        title : '标题',
                },
                {
                    field : 'dataTime',
                        title : '数据时间',
                },
                {
                    field : 'source',
                        title : '来源',
                },
                {
                    field : 'sort',
                    title : '排序',
                },
                {
                    field : 'createdName',
                        title : '创建人',
                },
                {
                    field : 'createdTime',
                        title : '创建时间',
                    width : 170,
                },
                {
                    field : 'updatedName',
                        title : '更新人',
                },
                {
                    field : 'updatedTime',
                        title : '更新时间',
                    width : 170,

                },
                {
                    field : '',
                    title : '操作',
                    templet:function (d) {
                        return '<a class="layui-btn  layui-btn-xs layui-btn-danger" lay-event="sort">排序</a>' ;
                    }
                }

        ] ]

        });
            table.on('sort(choiceDataInfoTable)', function(obj){ //注：tool是工具条事件名，test是table原始容器的属性 lay-filter="对应的值"
                console.log(obj.field); //当前排序的字段名
                console.log(obj.type); //当前排序类型：desc（降序）、asc（升序）、null（空对象，默认排序）
                console.log(this); //当前排序的 th 对象

                //尽管我们的 table 自带排序功能，但并没有请求服务端。
                //有些时候，你可能需要根据当前排序的字段，重新向服务端发送请求，从而实现服务端排序，如：
                table.reload('choiceDataInfoTable', {
                    initSort: obj //记录初始排序，如果不设的话，将无法标记表头的排序状态。 layui 2.1.1 新增参数
                    ,where: { //请求参数（注意：这里面的参数可任意定义，并非下面固定的格式）
                        field: obj.field //排序字段
                        ,order: obj.type //排序方式
                    }
                });
            });
            table.on('checkbox(choiceDataInfoTable)', function(obj){
                var choiceDataInfo = obj.data;
                if(obj.checked){
                    //按钮逻辑Lib.buttonEnable()
                }else{

                }
            })
            table.on('tool(choiceDataInfoTable)', function(obj){
                var data = obj.data;
                if(obj.event=="sort"){
                    layer.prompt({
                        formType: 0,
                        value: '',
                        title: '请输入序号',
                        btn2: function() {//这里就是你要的
                            window.dataReload();
                        },
                    }, function(value, index, elem){
                       if(!isRealNum(value)){
                           Common.info('请输入大于0的整数');
                           return;
                       }
                        console.log(isRealNum(value));
                        // var indexLoad = layer.load(); //换了种风格
                        $.ajax({
                            url:Common.ctxPath+"/choiceDataInfo/choiceDataInfo/sort.json",
                            type:"POST",
                            timeout:1000*60*60,
                            data:{
                                id:data.id,
                                provinceId:data.provinceId,
                                type:data.type,
                                newSort:value,
                                oldSort:data.sort
                            },
                            success:function(res){
                                window.dataReload();
                                if(res.code==0){
                                    Common.success("操作成功");
                                }else{
                                    Common.info("操作失败");
                                }
                                layer.close(index);
                                // layer.close(indexLoad);
                            }
                        });
                    });
                }
            })

        },

        initSearchForm:function(){
            Lib.initSearchForm( $("#searchForm"),choiceDataInfoTable,form);
        },
        initToolBar:function(){
            toolbar = {
                add : function() { // 获取选中数据
                    var url = "/choiceDataInfo/choiceDataInfo/add.do?provinceId="+$("#provinceId").val();
                    Common.openDlg(url,"志愿数据管理>新增");
                },
                edit : function() { // 获取选中数目
                    var data = Common.getOneFromTable(table,"choiceDataInfoTable");
                    if(data==null){
                        return ;
                    }
                    var url = "/choiceDataInfo/choiceDataInfo/edit.do?id="+data.id;
                    Common.openDlg(url,"志愿数据管理>"+data.id+">编辑");
                },
                del : function() {
                    layui.use(['del'], function(){
                        var delView = layui.del;
                        delView.delBatch();
                    });
                }
        };
            $('.ext-toolbar').on('click', function() {
                var type = $(this).data('type');
                toolbar[type] ? toolbar[type].call(this) : '';
            });
        }
    }

    function isRealNum(val){
        // isNaN()函数 把空串 空格 以及NUll 按照0来处理 所以先去除，
        val= val.trim();
        if(val === "" || val ==null || val == 0){
            return false;
        }
        if(!isNaN(val)){
            //对于空数组和只有一个数值成员的数组或全是数字组成的字符串，isNaN返回false，例如：'123'、[]、[2]、['123'],isNaN返回false,
            //所以如果不需要val包含这些特殊情况，则这个判断改写为if(!isNaN(val) && typeof val === 'number' )
            return true;
        }else{
            return false;
        }
    }
    exports('index',view);

});
